In general, data processors are tested throughly by the manufacturer before being shipped to the end user thereof. The manufacturer's goal is to test each processor to a specific standard of functionality in the most efficient and cost effective way. Ideally, each processor would be required to correctly execute a carefully designed sequence of instructions selected to utilize substantially all of the circuitry contained within the processor. However, as the instruction set expands, the cost of such exhaustive testing soon becomes prohibitive. Instead, dedicated test circuitry is included within the processor so that those portions of the processor which are too difficult or time consuming to test implicitly may be explicitly tested by a suitable automated tester. If the processor is particularly powerful, the cost of providing the testing circuitry may even exceed the value of the functions being tested. If such functions are otherwise essential, the manufacturer's task becomes one of selecting the most cost effective way of testing that function.